package com.yikome.order.dto;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.ExcelCollection;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class OrderSearchDTO implements Serializable{

	private static final long serialVersionUID = -8855054967229353476L;

	@Excel(name = "订单编号", orderNum = "1", width = 15, needMerge = true)
	private String code ; 
	@Excel(name = "支付方式", orderNum = "2", replace = { "COD_1", "STRIPE_2" }, width = 15, needMerge = true)
	private Integer payment ; 
	@Excel(name = "订单总价", orderNum = "3", width = 15, needMerge = true)
	private BigDecimal price ; 
	@Excel(name = "运费", orderNum = "4", width = 15, needMerge = true)
	private BigDecimal freight ;  
	@Excel(name = "用户留言", orderNum = "5", width = 15, needMerge = true)
	private String remark ; 
	
	private Integer status ; 
	@Excel(name = "订单状态", orderNum = "6", width = 15, needMerge = true)
	private String statusName ; 
	@Excel(name = "币种", orderNum = "7", width = 15, needMerge = true)
	private String currency ; 
	
	private Integer priority ; 
	@Excel(name = "收件人", orderNum = "8", width = 15, needMerge = true)
	private String consignee ; 
	@Excel(name = "电话", orderNum = "9", width = 15, needMerge = true)
	private String tel ; 
	
	@Excel(name = "国家", orderNum = "10", width = 10, needMerge = true)
	private String contry ; 
	@Excel(name = "省份", orderNum = "10", width = 10, needMerge = true)
	private String province ; 
	@Excel(name = "城市", orderNum = "10", width = 10, needMerge = true)
	private String city ; 
	@Excel(name = "区域", orderNum = "10", width = 10, needMerge = true)
	private String district ; 
	@Excel(name = "详情", orderNum = "10", width = 10, needMerge = true)
	private String details ;
	
	private String address ; 
	
	@Excel(name = "发货单号", orderNum = "11", width = 15, needMerge = true)
	private String deliveryCode ;
	@Excel(name = "仓库", orderNum = "12", width = 15, needMerge = true)
	private String storehouseName ; 
	@Excel(name = "下单时间", orderNum = "13", width = 15, needMerge = true)
	private Date createdAt ; 
	
	//导出专用字段
	@ExcelCollection(name = "订单明细", orderNum = "14")
	private List<OrderProductSearchDTO> productSearchDTOs;
	
}
